package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.AjaxResult;

/**
 * PayPal支付Service接口
 * 
 * @author ruoyi
 * @date 2025-04-13
 */
public interface IPaypalService 
{
    /**
     * 创建 PayPal 支付订单
     * 
     * @param orderId 系统订单ID
     * @return 支付链接和订单ID
     */
    public AjaxResult createPayment(String orderId);
    
    /**
     * 验证和完成支付
     * 
     * @param payerId PayPal付款人ID
     * @param token PayPal令牌
     * @return 支付结果
     */
    public AjaxResult executePayment(String payerId, String token);
    
    /**
     * 处理 PayPal 支付回调
     * 
     * @param payerId PayPal付款人ID
     * @param token PayPal令牌
     * @return 处理结果
     */
    public String handlePaypalCallback(String payerId, String token);
    
    /**
     * 查询 PayPal 支付状态
     * 
     * @param paymentId PayPal支付ID
     * @return 支付状态
     */
    public AjaxResult checkPaymentStatus(String paymentId);
} 